package com.lrkj.property.domain;

import com.lrkj.common.annotation.Excel;
import com.lrkj.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 房屋管理对象 tm_room
 *
 * @author yajun_ren
 * @date 2021-07-22
 */
@Data
public class Room extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private String id;

    /**
     * 小区ID
     */
    @Excel(name = "小区ID")
    private String communityId;

    /**
     * 机构ID
     */
    @Excel(name = "机构ID")
    private String deptId;

    /**
     * 楼栋ID
     */
    @Excel(name = "楼栋ID")
    private String floorId;

    /**
     * 单元ID
     */
    @Excel(name = "单元ID")
    private String unitId;

    /**
     * 层数
     */
    @Excel(name = "层数")
    private String layerNum;

    /**
     * 房屋编号
     */
    @Excel(name = "房屋编号")
    private String roomNum;

    /**
     * 房屋名称
     */
    @Excel(name = "房屋名称")
    private String roomName;

    /**
     * 住所户型
     */
    @Excel(name = "住所户型")
    private String apartment;

    /**
     * 房屋面积
     */
    @Excel(name = "使用面积")
    private BigDecimal roomArea;

    /**
     * 算费系数
     */
    @Excel(name = "算费系数")
    private BigDecimal feeCoefficient;

    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String address;

    /**
     * 祖级ID
     */
    private String ancestors;

    /**
     * 数据来源
     */
    private String dataSourceId;

    /**
     * 业务状态
     */
    @Excel(name = "业务状态")
    private String state;

    /**
     * 房屋状态
     */
    @Excel(name = "房屋状态")
    private String statusCd;

    //小区
    private String communityName;

    //机构
    private String deptName;

    //楼栋
    private String floorName;

    //单元
    private String unitName;

    //业主ID
    private String ownerId;

    //业主名称
    private String customName;

    //建筑面积
    private BigDecimal buildArea;

    private Integer roomOrder;



    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("communityId", getCommunityId())
                .append("deptId", getDeptId())
                .append("floorId", getFloorId())
                .append("unitId", getUnitId())
                .append("layerNum", getLayerNum())
                .append("roomNum", getRoomNum())
                .append("roomName", getRoomName())
                .append("apartment", getApartment())
                .append("roomArea", getRoomArea())
                .append("feeCoefficient", getFeeCoefficient())
                .append("address", getAddress())
                .append("ancestors", getAncestors())
                .append("dataSourceId", getDataSourceId())
                .append("state", getState())
                .append("statusCd", getStatusCd())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
